﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharedGenomics.Domain
{
    public class DataFilterSummary
    {
        #region Private Members

        private ICollection<MarkerFilterStatus> _statuses;

        #endregion

        #region Constructors

        public DataFilterSummary(int snpPre, int snpPost, int iPre, int iPost)
        {
            this._statuses = new List<MarkerFilterStatus>();
            this.SnpCountPreFilter = snpPre;
            this.SnpCountPostFilter = snpPost;
            this.IndividualCountPreFilter = iPre;
            this.IndividualCountPostFilter = iPost;
        }

        #endregion

        public int SnpCountPreFilter { get; private set; }
        public int SnpCountPostFilter { get; private set; }
        public int IndividualCountPreFilter { get; private set; }
        public int IndividualCountPostFilter { get; private set; }

        public void AddMarkerStatus(MarkerFilterStatus status)
        {
            if (status == null)
                throw new ArgumentNullException("status");

            this._statuses.Add(status);
        }

        public IEnumerable<MarkerFilterStatus> WatchedMarkerStatuses
        {
            get { return this._statuses; }
        }
    }
}
